/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package gestionnaires;

import modeles.Acteur;
import modeles.Disque;
import java.util.Collection;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

@Stateless
public class GestionnaireActeurs {
    @PersistenceContext
    private EntityManager em;

    public void creerActeursDeTest() {
        
            creeActeur("Jason","Statham","ras");
            creeActeur("Natalya","Rudakova","ras");
            creeActeur("Sam","Worthington ","Apres des études au National Institute of Dramatic Art de Sydney");
            creeActeur("Liam","Neeson","Né  le  7 juin 1952  à Ballymena ");
            creeActeur("Guillaume","Canet","ras");
            creeActeur("Marion","Cotillard","ras");
            creeActeur("Russell","Crowe","ras");
            creeActeur("Cate","Blanchett","ras");
            creeActeur("Max von","Sydow","ras");
            creeActeur("Reeves","Keanu","ras");
            creeActeur("Weaver","Sigourney","ras");

    }

    public Acteur creeActeur(String nom, String prenom, String description) {

        Acteur a = new Acteur(nom, prenom, description);
      
        em.persist(a);
        return a;
    }

    public Collection<Acteur> getAllActeurs() {
        // Exécution d'une requête équivalente à un select *
       Query q = em.createQuery("select a from Acteur a");
        return q.getResultList();
    }


     public  Acteur getActeurByNom(String nom){

         Acteur act = null;
         try{

          Query q = em.createQuery("select a from Acteur a where a.nom = :nom");
          q.setParameter("nom", nom);
          act = (Acteur) q.getSingleResult();

         }catch (NoResultException e) {
            System.out.println("Cet Acteur n'existe pas.");
        }
        return act;


    }
    public Acteur getActeurByID(int id){
        Acteur act = null;
        try{
            Query q = em.createQuery("Select a from Acteur a where a.id = :id");
            q.setParameter("id", id);
            act = (Acteur) q.getSingleResult();
            
        }catch(NoResultException e){
            System.out.println("Aucun acteur avec cet Id");
        }
        return act;
    }
     

}
